package cards;

public abstract class Card <CardInfoType > {
	
	CardState mState;
	
	public Card(CardState aState)
	{
		mState = aState;
	}
	
	public CardState getState()
	{
		return mState;
	}
	
	public void setState(CardState aState)
	{
		mState = aState;
	}
	
	abstract public CardInfoType getInfo();


	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append("Card. CardInfo : ");
		sb.append(getInfo().toString());
		sb.append(" State : ");
		sb.append(mState.toString());
		
		return sb.toString();
	}
	
	
	
	
	
}
